package com.ruoyi.slope.ai.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 边坡裂缝目标识别监测对象 slope_ai_crack_monitoring
 * 
 * @author ruoyi
 * @date 2025-09-05
 */
public class SlopeAiCrackMonitoring extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键ID */
    private Long id;

    /** 裂缝ID */
    @Excel(name = "裂缝ID")
    private String crackMonitorId;

    /** 边坡名称 */
    @Excel(name = "边坡名称")
    private String slopeName;

    /** 裂缝图像采集路径 */
    @Excel(name = "裂缝图像采集路径")
    private String rawImagePath;

    /** 图像预处理后图片路径 */
    @Excel(name = "图像预处理后图片路径")
    private String processedImagePath;

    /** 裂缝检测识别结果文件路径 */
    @Excel(name = "裂缝检测识别结果文件路径")
    private String detectionResultPath;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCrackMonitorId(String crackMonitorId) 
    {
        this.crackMonitorId = crackMonitorId;
    }

    public String getCrackMonitorId() 
    {
        return crackMonitorId;
    }

    public void setSlopeName(String slopeName) 
    {
        this.slopeName = slopeName;
    }

    public String getSlopeName() 
    {
        return slopeName;
    }

    public void setRawImagePath(String rawImagePath) 
    {
        this.rawImagePath = rawImagePath;
    }

    public String getRawImagePath() 
    {
        return rawImagePath;
    }

    public void setProcessedImagePath(String processedImagePath) 
    {
        this.processedImagePath = processedImagePath;
    }

    public String getProcessedImagePath() 
    {
        return processedImagePath;
    }

    public void setDetectionResultPath(String detectionResultPath) 
    {
        this.detectionResultPath = detectionResultPath;
    }

    public String getDetectionResultPath() 
    {
        return detectionResultPath;
    }

    public void setUploadTime(Date uploadTime) 
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime() 
    {
        return uploadTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("crackMonitorId", getCrackMonitorId())
            .append("slopeName", getSlopeName())
            .append("rawImagePath", getRawImagePath())
            .append("processedImagePath", getProcessedImagePath())
            .append("detectionResultPath", getDetectionResultPath())
            .append("uploadTime", getUploadTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
